Finger_Tree
container.Finger_Tree
Type Parameters
Functions
(env_vars option (container.Map String String), feed_stdin option io.path, timeout option time.duration) => outcome tokiwa.process_result[Inherited from Sequence]¶
(env_vars option (container.Map String String), feed_stdin option io.path, timeout option time.duration)
=>
outcome tokiwa.process_result[Inherited from Sequence]
¶execute this Sequence of process+args
0.099dev (GIT hash 250922c42fb1dcef5ce7ce89820538f53498ca37)
to efficiently represent persistent sequences.
It allows amortized constant time access to its elements.
Furthermore concatting (append/prepend) as well as splitting in logarithmic time.
In Fuzion finger trees are used for concatenation of strings and finite Sequences.
The paper introducing the datastructure:
https://www.cs.ox.ac.uk/ralf.hinze/publications/FingerTrees.pdf
The implementation that was used as an inspiration for this port:
https://github.com/ledbutter/CSharpFingerTree
NYI: UNDER DEVELOPMENT: split0, slice, reverse